package com.thghh.util;

import cn.hutool.core.util.CharUtil;

/**
 * 文件相关帮助
 *
 * @author pengzhikang
 * @date 2023/6/8 10:27
 * @since 1.0.0
 */
public class FileUtils {

    /**
     * 主要名字
     *
     * @param fileName 文件名称
     * @return {@link String }
     * @author pengzhikang
     * @date 2022/07/04 13:12
     */
    public static String mainName(String fileName) {
        if (null == fileName) {
            return null;
        }
        int len = fileName.length();
        if (0 == len) {
            return fileName;
        }
        if (CharUtil.isFileSeparator(fileName.charAt(len - 1))) {
            len--;
        }

        int begin = 0;
        int end = len;
        char c;
        for (int i = len - 1; i >= 0; i--) {
            c = fileName.charAt(i);
            if (CharUtil.DOT == c) {
                // 查找第一个文件名和扩展名的分隔符：.
                end = i;
            }
            // 查找最后一个路径分隔符（/或者\），如果这个分隔符在.之后，则继续查找，否则结束
            if (CharUtil.isFileSeparator(c)) {
                begin = i + 1;
                break;
            }
        }

        return fileName.substring(begin, end);
    }

}
